[INFO] cloning repository https://github.com/alexandercampbell/rust-cc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexandercampbell/rust-cc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandercampbell%2Frust-cc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandercampbell%2Frust-cc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8caab9188cd8b063fc1a4ca0ee74755ac6ad6ce0
[INFO] checking alexandercampbell/rust-cc against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandercampbell%2Frust-cc" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/alexandercampbell/rust-cc on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/alexandercampbell/rust-cc
[INFO] finished tweaking git repo https://github.com/alexandercampbell/rust-cc
[INFO] tweaked toml for git repo https://github.com/alexandercampbell/rust-cc written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/alexandercampbell/rust-cc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bb9dfcfe7efa89b87339b11074d913adf490864558a81948b3d97fbcea39a11e
[INFO] running `Command { std: "docker" "start" "-a" "bb9dfcfe7efa89b87339b11074d913adf490864558a81948b3d97fbcea39a11e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb9dfcfe7efa89b87339b11074d913adf490864558a81948b3d97fbcea39a11e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb9dfcfe7efa89b87339b11074d913adf490864558a81948b3d97fbcea39a11e", kill_on_drop: false }`
[INFO] [stdout] bb9dfcfe7efa89b87339b11074d913adf490864558a81948b3d97fbcea39a11e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82cba094868ea96d4a116769ea07f781c3f58688d2295fdeb7228d4ad91c633e
[INFO] running `Command { std: "docker" "start" "-a" "82cba094868ea96d4a116769ea07f781c3f58688d2295fdeb7228d4ad91c633e", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-cc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(box_syntax)]
[INFO] [stdout]    |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | #![feature(box_syntax)]
[INFO] [stdout]    |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/parser/build.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(Expression::UnaryOp(parser_op, box rhs))
[INFO] [stdout]    |                                               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(Expression::UnaryOp(parser_op, Box::new(rhs)))
[INFO] [stdout]    |                                               ~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/parser/build.rs:92:47
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(Expression::UnaryOp(parser_op, box rhs))
[INFO] [stdout]    |                                               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Ok(Expression::UnaryOp(parser_op, Box::new(rhs)))
[INFO] [stdout]    |                                               ~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/build.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         box lhs_node,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 151 |         Box::new(lhs_node),
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/build.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         box lhs_node,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 151 |         Box::new(lhs_node),
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/build.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         box rhs_node,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Box::new(rhs_node),
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/build.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         box rhs_node,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 153 |         Box::new(rhs_node),
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 box Expression::Number(Number::Int(1)),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 Box::new(Expression::Number(Number::Int(1))),
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:179:25
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         box Expression::Number(Number::Int(2)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         Box::new(Expression::Number(Number::Int(2))),
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                         box Expression::Number(Number::Int(3)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 181 |                         Box::new(Expression::Number(Number::Int(3))),
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/interpreter/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     try!(checker::check_program(program));
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:178:21
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                     box Expression::BinaryOp(
[INFO] [stdout] 179 | |                         box Expression::Number(Number::Int(2)),
[INFO] [stdout] 180 | |                         BinaryOp::Multiply,
[INFO] [stdout] 181 | |                         box Expression::Number(Number::Int(3)),
[INFO] [stdout] 182 | |                     ),
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                     Box::new(Expression::BinaryOp(
[INFO] [stdout] 179 +                         box Expression::Number(Number::Int(2)),
[INFO] [stdout] 180 +                         BinaryOp::Multiply,
[INFO] [stdout] 181 +                         box Expression::Number(Number::Int(3)),
[INFO] [stdout] 182 ~                     )),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:43:45
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...                   let first_arg = try!(expression(context));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     box Expression::Number(Number::Int(4)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     Box::new(Expression::Number(Number::Int(4))),
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:49:74
[INFO] [stdout]    |
[INFO] [stdout] 49 | ...                   Some(Token::Comma) => arguments.push(try!(expression(context))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let rhs = try!(atom(context));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let lhs_node = try!(build_subtree(context));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 177 | /                 box Expression::BinaryOp(
[INFO] [stdout] 178 | |                     box Expression::BinaryOp(
[INFO] [stdout] 179 | |                         box Expression::Number(Number::Int(2)),
[INFO] [stdout] 180 | |                         BinaryOp::Multiply,
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |                     box Expression::Number(Number::Int(4)),
[INFO] [stdout] 185 | |                 ),
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 177 ~                 Box::new(Expression::BinaryOp(
[INFO] [stdout] 178 +                     box Expression::BinaryOp(
[INFO] [stdout] 179 +                         box Expression::Number(Number::Int(2)),
[INFO] [stdout] 180 +                         BinaryOp::Multiply,
[INFO] [stdout] 181 +                         box Expression::Number(Number::Int(3)),
[INFO] [stdout] 182 +                     ),
[INFO] [stdout] 183 +                     BinaryOp::Add,
[INFO] [stdout] 184 +                     box Expression::Number(Number::Int(4)),
[INFO] [stdout] 185 ~                 )),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let rhs_node = try!(binary_operator_helper(context, allowed_operators, build_subtree));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let expr = try!(expression(context));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:211:41
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         let statement = try!(statement(context));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/parser/mod.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...                   box Expression::Number(Number::Int(10)),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 227 |                                 Box::new(Expression::Number(Number::Int(10))),
[INFO] [stdout]     |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:221:29
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let statement = try!(statement(context));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:262:29
[INFO] [stdout]     |
[INFO] [stdout] 262 |             let first_arg = try!(declaration(context));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:268:59
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     Some(Token::Comma)  => arguments.push(try!(declaration(context))),
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let statements = try!(statement_block(context));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:440:35
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 let declaration = try!(declaration(context));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:461:40
[INFO] [stdout]     |
[INFO] [stdout] 461 |                         let function = try!(function_definition(context, declaration));
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |             '0'...'9' => (),
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:36
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:121:20
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 '0'...'9'|'.' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/lexer/mod.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     let number = try!(lex_subroutines::number(&mut context));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 'a'...'z'|'A'...'Z'|'_' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 'a'...'z'|'A'...'Z'|'_' => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/lexer/mod.rs:130:47
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 '"' => push_tok(Token::String(try!(lex_subroutines::string(&mut context)))),
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let tokens = try!(lexer::lex(s));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let expr = try!(build::expression(&mut context));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let tokens = try!(lexer::lex(s));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/source.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         try!(f.read_to_string(&mut s));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/source.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut f = try!(fs::File::open(location));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/interpreter/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     try!(checker::check_program(program));
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:43:45
[INFO] [stdout]    |
[INFO] [stdout] 43 | ...                   let first_arg = try!(expression(context));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:49:74
[INFO] [stdout]    |
[INFO] [stdout] 49 | ...                   Some(Token::Comma) => arguments.push(try!(expression(context))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/build.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let rhs = try!(atom(context));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let lhs_node = try!(build_subtree(context));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:149:20
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let rhs_node = try!(binary_operator_helper(context, allowed_operators, build_subtree));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let expr = try!(expression(context));
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:211:41
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         let statement = try!(statement(context));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:221:29
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let statement = try!(statement(context));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:262:29
[INFO] [stdout]     |
[INFO] [stdout] 262 |             let first_arg = try!(declaration(context));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:268:59
[INFO] [stdout]     |
[INFO] [stdout] 268 |                     Some(Token::Comma)  => arguments.push(try!(declaration(context))),
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let statements = try!(statement_block(context));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:440:35
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 let declaration = try!(declaration(context));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/build.rs:461:40
[INFO] [stdout]     |
[INFO] [stdout] 461 |                         let function = try!(function_definition(context, declaration));
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/source.rs:19:59
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn from_disk(location: &Path) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn from_disk(location: &Path) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |             '0'...'9' => (),
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:26
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/parser/lexer/lex_subroutines.rs:87:36
[INFO] [stdout]    |
[INFO] [stdout] 87 |             'A'...'Z'|'a'...'z'|'0'...'9'|'_' => literal.push(ch),
[INFO] [stdout]    |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:121:20
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 '0'...'9'|'.' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/lexer/mod.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     let number = try!(lex_subroutines::number(&mut context));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:126:20
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 'a'...'z'|'A'...'Z'|'_' => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lexer/mod.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 'a'...'z'|'A'...'Z'|'_' => {
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/lexer/mod.rs:130:47
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 '"' => push_tok(Token::String(try!(lex_subroutines::string(&mut context)))),
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let tokens = try!(lexer::lex(s));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let expr = try!(build::expression(&mut context));
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/mod.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let tokens = try!(lexer::lex(s));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/source.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         try!(f.read_to_string(&mut s));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/source.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut f = try!(fs::File::open(location));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/source.rs:19:59
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn from_disk(location: &Path) -> Result<Self, Box<Error>> {
[INFO] [stdout]    |                                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn from_disk(location: &Path) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-cc` (lib) due to 5 previous errors; 29 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 11 previous errors; 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-cc` (lib test) due to 12 previous errors; 29 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "82cba094868ea96d4a116769ea07f781c3f58688d2295fdeb7228d4ad91c633e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82cba094868ea96d4a116769ea07f781c3f58688d2295fdeb7228d4ad91c633e", kill_on_drop: false }`
[INFO] [stdout] 82cba094868ea96d4a116769ea07f781c3f58688d2295fdeb7228d4ad91c633e
